﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace WpfApplication1.Models
{
    [Serializable]
    public class OrdreItem : INotifyPropertyChanged
    {
        // INotifyPropertyChanged Member
        public event PropertyChangedEventHandler PropertyChanged;
        void Notify(string propName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propName));
        }

        // Fields
        private String produktKode;
        private String produktNavn;
        private DateTime kalibreringsDato;
        private DateTime leveringsDato;
        private int antal;

        // Constructors
        public OrdreItem() { }
        public OrdreItem(String produktKode, String produktNavn, DateTime kalibreringsDato, DateTime leveringsDato, int antal)
        {
            this.produktKode = produktKode;
            this.produktNavn = produktNavn;
            this.kalibreringsDato = kalibreringsDato;
            this.leveringsDato = leveringsDato;
            this.antal = antal;
        }

        //Properties
        public String ProduktKode
        {
            get { return produktKode; }
            set {
                produktKode = value;
                Notify("ProduktKode");
            }
        }

        public String ProduktNavn
        {
            get { return produktNavn; }
            set {
                produktNavn = value;
                Notify("ProduktNavn");
            }
        }

        public DateTime KalibreringsDato
        {
            get { return kalibreringsDato; }
            set { 
                kalibreringsDato = value;
                Notify("KalibreringsDato");
            }
        }

        public DateTime LeveringsDato
        {
            get { return leveringsDato; }
            set { 
                leveringsDato = value;
                Notify("LeveringsDato");
            }
        }

        public int Antal
        {
            get { return antal; }
            set {
                antal = value;
                Notify("Antal");
            }
        }

        //Methods
    }
}
